It is often desirable to manage machines within an enterprise. One management task is to copy and store in a library the contents of local disks of multiple managed machines, also referred to as managed endpoints, within the enterprise. This is also referred to as harvesting images of managed machines. An image of a managed machine is a copy of the data stored on the local disk of the machine. If the data stored on the local disk are arranged in files, the image can be a collection of the files. These harvested images can be deployed to other managed machines, possibly after modifying the image. Images are deployed to clone a machine, repair a machine, or reconfigure a machine. The images should be stored efficiently and in a way that they can be easily analyzed and modified.
The above tasks may need to be performed remotely, without a human user physically interacting with the managed machine. In addition, the tasks may need to be performed in difficult circumstances, such as when the local disk is corrupted and the managed machine is unable to boot from it or when a program is running from the local disk that interferes with the ability to read or write to the disk. What is needed are systems and methods for efficiently, remotely, and non-intrusively harvesting and deploying images to disks of managed machines in an enterprise.